home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
vdl020d.zip
/
VIN.DOC
< prev
next >
Wrap
Text File
|
1993-04-14
|
10KB
|
570 lines
{
════════════════════════════════════════════════════════════════════════════
Visionix Input Unit (VIN)
Copyright 1991,92,93 Visionix
ALL RIGHTS RESERVED
────────────────────────────────────────────────────────────────────────────
Revision history in reverse chronological order:
Initials Date Comment
──────── ──────── ────────────────────────────────────────────────────────
lpg 03/15/93 Added Source Documentation
mep 02/11/93 Cleaned up code for beta release
jrt 02/08/93 Sync with beta 0.12 release
jrt 12/07/92 Sync with beta 0.11 release
jrt 11/21/92 Sync with beta 0.08
jrt 09/01/92 First logged revision.
════════════════════════════════════════════════════════════════════════════
}
{$V-}
Unit VIn;
Uses
VTypes,
VMulti;
{────────────────────────────────────────────────────────────────────────────}
Const
Key_Tab = 9;
Key_ESC = 27;
Key_CR = 13;
Key_ShiftTab = 15;
Key_PgDn = 81;
Key_PgUp = 73;
Key_Home = 71;
Key_End = 79;
Key_Down = 80;
Key_Up = 72;
Key_Right = 77;
Key_Left = 75;
Key_Ins = 82;
Key_Del = 83;
Key_F1 = 59;
Key_F2 = 60;
Key_F3 = 61;
Key_F4 = 62;
Key_F5 = 63;
Key_F6 = 64;
Key_F7 = 65;
Key_F8 = 66;
Key_F9 = 67;
Key_F10 = 68;
IDF_DriverNew = 1;
IDF_DriverOff = 2;
IDF_DriverOn = 3;
IDF_DriverDispose = 4;
IDF_Look = 5;
IDF_Read = 6;
IDF_Write = 7;
IDF_State = 8;
IDF_Flush = 9;
IDF_Pressed = 10;
IDS_Changed = 1;
IDS_Install = 2;
IDS_Sequence = 4;
KDP_New = 1;
KDP_Do = 2;
KDP_Dispose = 3;
Type
PInDriverPacket=^TInDriverPacket;
TInDriverProc = Procedure( IDPacket : PInDriverPacket );
TProcName = String[20];
PProcName = ^TProcName;
{----}
TInDriverPacket = Record
Func : WORD;
ID : Pointer;
InDriverProc : TInDriverProc;
SysKeyBuff : Pointer;
Name : PProcName;
DriverInfo : Pointer;
Key : CHAR;
State : BYTE;
KeysToWrite : PString;
Pressed : BOOLEAN;
Status : WORD;
End;
PInDriverProc = ^TInDriverProc;
{----}
PInDriverList = ^TInDriverList;
TInDriverList = Record
Proc : TInDriverProc;
ID : Pointer;
Next : PInDriverList;
End;
{----}
TKeyProc = Procedure( Status : BYTE;
Key1, Key2 : CHAR );
PKeyProcList = ^TKeyProcList;
TKeyProcList = RECORD
Key1 : CHAR;
Key2 : CHAR;
Proc : TKeyProc;
Name : TProcName;
ProcInfo : Pointer;
Off : WORD;
Next : PKeyProcList;
END;
{----}
TInDriverIData = Record
KeyBuff : PString;
Off : WORD;
Name : TProcName;
END;
PInDriverIData = ^TInDriverIData;
{----}
{────────────────────────────────────────────────────────────────────────────}
Procedure VInDriverNew( Proc : TInDriverProc;
Name : TProcName;
DriverInfo : Pointer;
Var Err : WORD );
Procedure VInDriverOff( Name : TProcName );
Procedure VInDriverOn( Name : TProcName );
Procedure VInDriverDispose( Name : TProcName );
Function VInLook : CHAR;
Function VInRead : CHAR;
Function VInState : BYTE;
Procedure VInWrite( Keys : String );
Function VInPressed : BOOLEAN;
Procedure VInFlush;
Procedure VKeyProcNew( Key1 : CHAR;
Key2 : CHAR;
Proc : TKeyProc;
Name : TProcName;
ProcInfo : Pointer;
Var Err : WORD );
Procedure VKeyProcOff( Name : TProcName );
Procedure VKeyProcOn( Name : TProcName );
Procedure VKeyProcDispose( Name : TProcName );
{Procedure DefaultInDriverProc( IDP : PInDriverPacket );}
{────────────────────────────────────────────────────────────────────────────}
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Procedure CallInDrivers( IDP : PInDriverPacket );
[PARAMETERS]
IDP Pointer to In-Data Driver Packet
[RETURNS]
(None)
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Procedure VInDriverNew( Proc : TInDriverProc;
Name : TProcName;
DriverInfo : Pointer;
Var Err : WORD );
[PARAMETERS]
Proc ?
Name ?
DriverInfo ?
Err VAR Returned ?
[RETURNS]
Function : None
(VAR : [Err] ?)
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Procedure VInDriverOff( Name : TProcName );
[PARAMETERS]
Name ?
[RETURNS]
(None)
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Procedure VInDriverOn( Name : TProcName );
[PARAMETERS]
Name ?
[RETURNS]
(None)
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Procedure VInDriverDispose( Name : TProcName );
[PARAMETERS]
Name ?
[RETURNS]
(None)
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VInLook : CHAR;
[PARAMETERS]
(None)
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function CallKeyProcList( Key1 : CHAR;
Key2 : CHAR ) : BOOLEAN;
[PARAMETERS]
Key1 ?
Key2 ?
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VInRead : CHAR;
[PARAMETERS]
(None)
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VInState : BYTE;
[PARAMETERS]
(None)
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Procedure VInWrite( Keys : String );
[PARAMETERS]
Keys ?
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Function VInPressed : BOOLEAN;
[PARAMETERS]
(None)
[RETURNS]
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Procedure VInFlush;
[PARAMETERS]
(None)
[RETURNS]
(None)
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Procedure VKeyProcNew( Key1 : CHAR;
Key2 : CHAR;
Proc : TKeyProc;
Name : TProcName;
ProcInfo : Pointer;
Var Err : WORD );
[PARAMETERS]
Key1 ?
Key2 ?
Proc ?
Name ?
ProcInfo ?
Err VAR Returned ?
[RETURNS]
Function : None
(VAR : [Err] ?)
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Procedure VKeyProcOff( Name : TProcName );
[PARAMETERS]
Name ?
[RETURNS]
(None)
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Procedure VKeyProcOn( Name : TProcName );
[PARAMETERS]
Name ?
[RETURNS]
(None)
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]
──────────────────────────────────────────────────────────────────────────────
[FUNCTION]
Procedure VKeyProcDispose( Name : TProcName );
[PARAMETERS]
Name ?
[RETURNS]
(None)
[DESCRIPTION]
[SEE-ALSO]
[EXAMPLE]